package com.elitesland.metadata.service;

import com.elitesland.core.base.PagingVO;
import com.elitesland.metadata.param.MetaTableQParam;
import com.elitesland.metadata.param.MetaTableSaveParam;
import com.elitesland.metadata.vo.MetaTableVO;

import java.util.Optional;
import java.util.concurrent.CompletableFuture;

/**
 * <pre>作用说明</pre>
 *
 * @author mir
 * @date 11/21/2020 12:34 PM
 */
public interface MetaTableService {

    CompletableFuture<PagingVO<MetaTableVO>> search(MetaTableQParam param);

    Optional<MetaTableVO> oneById(Long id);

    Optional<MetaTableVO> oneByCode(String tableCode);

    Long create(MetaTableSaveParam table);

    void update(MetaTableSaveParam table);

    void removeById(Long id);
}
